import Vue from 'vue'
import VueRouter from 'vue-router'
import Lgion from '../components/Login.vue'
Vue.use(VueRouter)

const routes = [
  { path: '/', redirect: '/login' },
  { path: '/login', component: Lgion },
  { path: '/home', component: () => import('../components/Home.vue') },
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes,
})

// 全局前置守卫（所有进入的组件，都要先判断有没有登录，有没有token值）
router.beforeEach((to, from, next) => {
  // to 将要访问的路径
  // from  从哪个路径来
  // next  函数（）调用后才能放心      next('/login') 强制跳转

  // 判断如果他是想要去登录页面，直接放行
  if (to.path === '/login') return next()

  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  // 判断如果有token那么tokenStr就位 true,就可以放行
  if (tokenStr) return next()
  // 如果token没有，那么if语句就进不去，那么他就只能跳转到登录页面上进行登录
  next('/login')
})

export default router
